Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@jest/core
Advanced tools
The @jest/core package is the core engine of Jest, a popular JavaScript testing framework. It provides the functionality necessary to run tests, including the test runner, test watcher, and the ability to configure and initialize tests. It is designed for developers who need to write and run tests for their JavaScript code, offering a powerful and flexible testing environment.
Running tests
This feature allows you to programmatically run your tests using Jest. You can specify options and projects to run tests on, making it flexible for different testing scenarios.
jest.runCLI(options, projects).then(result => { console.log('Tests completed'); });
Configuring Jest
This feature enables you to read and manipulate Jest's configuration programmatically. It's useful for custom setups or when integrating Jest into other tools.
const { readConfig } = require('@jest/core');
readConfig(argc, argv).then(config => { console.log('Jest config:', config); });
Using the TestWatcher
The TestWatcher API allows you to listen to events related to the test lifecycle, such as when a test starts or finishes. This is useful for implementing custom behaviors or integrations.
const { TestWatcher } = require('@jest/core');
const watcher = new TestWatcher({ isWatchMode: true });
watcher.on('test_start', test => { console.log('Test started:', test.name); });
Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple. It's similar to @jest/core in providing a testing framework, but differs in its interface and default behavior, such as having a different assertion library by default (Chai) and not including a mocking library.
Jasmine is a behavior-driven development framework for testing JavaScript code. It does not require a DOM, and it has a clean, obvious syntax so that you can easily write tests. Compared to @jest/core, Jasmine is more focused on the BDD aspect and comes with an assertion library out of the box, whereas Jest provides more utilities for mocking and spying.
AVA is a test runner for Node.js with a concise API, detailed error output, and process isolation for concurrent tests. It's designed to be fast and comes with built-in support for ES6. Unlike @jest/core, AVA emphasizes minimalism and parallel test execution, which can lead to faster test runs for certain projects.
Jest is currently working on providing a programmatic API. This is under development, and usage of this package directly is currently not supported.
29.7.0
[create-jest]
Add npm init
/ yarn create
initialiser for Jest projects (#14465)[jest-validate]
Allow deprecation warnings for unknown options (#14499)[jest-resolver]
Replace unmatched capture groups in moduleNameMapper
with empty string instead of undefined
(#14507)[jest-snapshot]
Allow for strings as well as template literals in inline snapshots (#14465)[@jest/test-sequencer]
Calculate test runtime if perStats.duration
is missing (#14473)[@jest/create-cache-key-function]
Cache access of NODE_ENV
and BABEL_ENV
(#14455)[jest-cli]
Move internal config initialisation logic to the create-jest
package (#14465)FAQs
Delightful JavaScript Testing.
The npm package @jest/core receives a total of 13,589,268 weekly downloads. As such, @jest/core popularity was classified as popular.
We found that @jest/core demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.